package com.aistar.service.employer;

import com.aistar.model.dto.employer.BlacklistWithEmployeeNameDTO;
import com.aistar.model.dto.employer.EmployerAndUserDTO;
import com.aistar.model.entity.Company;
import com.aistar.model.entity.Employer;

import java.util.List;

/**
 * @ClassName: IEmployerCenterService
 * @author: LiuWenXiu
 * @date: 2021/9/28 20:11
 * @Description: TODO...招聘者个人中心
 */
public interface IEmployerCenterService {

    /**
     * 根据招聘者id加载招聘者个人信息(头像,姓名,电话)
     *
     * @param id
     * @return
     */
    EmployerAndUserDTO loadMyInfo(Integer id);

    /**
     * 根据招聘者id加载招聘者的部分信息
     *
     * @param id
     * @return
     */
    Company loadCompanyInfo(Integer id);

    /**
     * 根据招聘者id获取该用户的黑名单
     *
     * @param id 招聘者id
     * @return
     */
    List<BlacklistWithEmployeeNameDTO> loadBlacklist(Integer id);

    /**
     * 根据黑名单id删除黑名单中的数据,同时需要删除redis中的数据
     *
     * @param id 黑名单id
     * @return 受影响的行数
     */
    int removeBlacklist(Integer id);

    /**
     * 根据简历id和招聘者id拉黑求职者,同时redis中插入数据
     *
     * @param resumeId   简历id
     * @param employerId 招聘者id
     * @return
     */
    int pullBlack(Integer resumeId, Integer employerId);


}
